import axios from "axios";
import { ElMessage } from 'element-plus';
import { useRouter } from 'vue-router';

const router = useRouter()

const http = axios.create({
  baseURL: "http://localhost:8080",
});

// 添加请求拦截器（Interceptors）
http.interceptors.request.use(
  function (config) {
    // 发送请求之前的处理
    // 处于登录状态则往请求头添加 token
    config.headers && (config.headers.Authorization = localStorage.getItem('_token') || '')
    return config;
  },
  function (error) {
    // 请求错误处理
    return Promise.reject(error);
  }
);

// 添加响应拦截器
http.interceptors.response.use(
  function (response) {
    // 对响应数据的处理
    return response;
  },
  function (error) {
    // 响应错误处理
    // console.log("error", error);

    return Promise.reject(error);
  }
);

const request = (url: string, method = "GET", data = {}, params = {}) => {
    return new Promise((resolve, reject) => {
        http.request({
            url,
            method,
            data,
            params
        }).then((ok) => {
            resolve(ok)
        }).catch((err) => {
            reject(err)
        })
    })
}



export default request